home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / hack / 2_3 / makefile.xpc < prev    next >
Encoding:
Makefile  |  1993-06-20  |  6.9 KB  |  254 lines

  1.  
  2.  
  3.    Here is my makefile stuff for PC NetHack. It works with NDmake 4.3
  4. and contains four files. makefile is the makefile for NetHack.
  5. linkit.bat is a batch file to link it, and nethack.lnk is used by
  6. linkit.bat. Finally there is another makefile for creating termlib.lib.
  7. Hope this comes in handy for someone.
  8.  
  9. -    -    -    -    -    -    -    -    -
  10. Steve Creps on the VAX 8650 running Ultrix 2.0-1 at Indiana University.
  11.     creps@silver.bacs.indiana.edu
  12. "F-14 Tomcat! There IS no substitute."
  13.  
  14.  
  15.  
  16. makefile
  17. #
  18. #      SCCS Id: @(#)Makefile.pc        2.2
  19. #     Makefile for NetHack (PC) version 1.0 written using
  20. #    Microsoft(tm) "C" v3.0 or better.
  21. # Large memory model, register bug, remove stack probes:
  22. CC = msc
  23. LINK = link
  24. MODEL = L
  25. CFLAGS = /A$(MODEL) /DREGBUG /DLINT_ARGS /Ot /Gt48
  26. LIBS = l:\
  27. LFLAGS =
  28. SETARGV = $(LIBS)$(MODEL)SETARGV
  29.  
  30. # The game name
  31. GAME = nethack
  32.  
  33. # The game directory
  34. GAMEDIR = c:\games\nethack
  35.  
  36. # All object modules
  37. OBJS = o\decl.obj o\apply.obj o\bones.obj o\cmd.obj o\do.obj o\dothrow.obj \
  38.     o\do_name.obj o\do_wear.obj o\dog.obj o\dogmove.obj o\eat.obj \
  39.     o\end.obj o\engrave.obj o\fight.obj o\fountain.obj o\hack.obj \
  40.     o\invent.obj o\lev.obj o\pcmain.obj o\makemon.obj o\mhitu.obj \
  41.     o\mklev.obj o\mkmaze.obj o\mkobj.obj o\mkshop.obj o\mon.obj \
  42.     o\monmove.obj o\monst.obj o\o_init.obj o\objnam.obj o\options.obj \
  43.     o\pager.obj o\polyself.obj o\potion.obj o\pray.obj o\pri.obj \
  44.     o\prisym.obj o\read.obj o\rip.obj o\rumors.obj o\save.obj \
  45.     o\search.obj o\shk.obj o\shknam.obj o\sit.obj o\spell.obj o\steal.obj \
  46.     o\termcap.obj o\timeout.obj o\topl.obj o\topten.obj o\track.obj \
  47.     o\trap.obj o\pctty.obj o\pcunix.obj o\u_init.obj o\vault.obj \
  48.     o\wield.obj o\wizard.obj o\worm.obj o\worn.obj o\write.obj o\zap.obj \
  49.     o\version.obj o\rnd.obj o\alloc.obj o\msdos.obj
  50.  
  51. .c.obj:; $(CC) $*.c, o\$*.obj $(CFLAGS);
  52. .c.exe:;
  53.     $(CC) $*.c, o\$*.obj $(CFLAGS);
  54.     $(LINK) o\$*.obj $(SETARGV), $@,, $(LIBS) $(LFLAGS);
  55.  
  56. # The main target
  57. #
  58. $(GAME) : $(GAME).exe
  59.  
  60. $(GAME).exe : $(GAMEDIR)\$(GAME).exe
  61.  
  62. $(GAMEDIR)\$(GAME).exe : $(OBJS)
  63.     - .\linkit
  64.  
  65. #    variable auxilary files.
  66. #
  67. VARAUX = $(GAMEDIR)\data $(GAMEDIR)\rumors
  68.  
  69. install : $(GAMEDIR)\$(GAME).exe $(VARAUX)
  70.     - exepack $(GAME).exe $(GAMEDIR)\$(GAME).exe
  71.     - exemod $(GAMEDIR)\$(GAME).exe /max 1
  72.  
  73. clean :
  74.     erase $(GAME)
  75.  
  76. spotless : clean
  77.     erase o\*.obj
  78.  
  79. #    Other dependencies
  80. #
  81. o :
  82.     mkdir o
  83.  
  84. RUMORFILES= rumors.bas rumors.kaa rumors.mrx
  85.  
  86. makedefs : makedefs.exe
  87.  
  88. o\makedefs.obj : makedefs.c config.h
  89.  
  90. o\alloc.obj : alloc.c
  91.  
  92. makedefs.exe :  o\makedefs.obj o\alloc.obj
  93.     $(LINK) o\makedefs.obj o\alloc.obj;
  94.  
  95. rumors :  config.h $(RUMORFILES) makedefs.exe
  96.     makedefs -r
  97.  
  98. $(GAMEDIR)\rumors : rumors
  99.     mv rumors $(GAMEDIR)
  100.  
  101. data :  config.h data.bas makedefs.exe
  102.     makedefs -d
  103.  
  104. $(GAMEDIR)\data : data
  105.     mv data $(GAMEDIR)
  106.  
  107. hack.h :  config.h objclass.h monst.h gold.h trap.h obj.h flag.h rm.h \
  108.     permonst.h onames.h spell.h extern.h you.h
  109.     touch hack.h
  110.  
  111. objects.h :  config.h objclass.h
  112.     touch objects.h
  113.  
  114. onames.h :  config.h objects.h makedefs.exe
  115.        makedefs -o
  116.  
  117. extern.h : config.h
  118.     touch extern.h
  119.  
  120. #    Below is a kludge.  date.h should actually depend on any source
  121. #    module being changed. (but hack.h is close enough for most).
  122. #
  123. date.h :  hack.h makedefs.exe
  124.        makedefs -D
  125.  
  126. trap.h :  config.h makedefs.exe
  127.        makedefs -t
  128.  
  129. o\pcmain.obj : pcmain.c hack.h
  130. o\pctty.obj : pctty.c hack.h
  131. o\pcunix.obj : pcunix.c hack.h mkroom.h
  132. o\decl.obj :  hack.h mkroom.h decl.c
  133. o\apply.obj :  hack.h edog.h mkroom.h apply.c
  134. o\bones.obj :  hack.h bones.c
  135. o\hack.obj :  hack.h hack.c
  136. o\cmd.obj :  hack.h func_tab.h msdos.h cmd.c
  137. o\do.obj :  hack.h do.c
  138. o\do_name.obj :  hack.h do_name.c
  139. o\do_wear.obj :  hack.h do_wear.c
  140. o\dog.obj :  hack.h edog.h mkroom.h dog.c
  141. o\dogmove.obj :  hack.h mfndpos.h dogmove.c
  142. o\dothrow.obj :  hack.h dothrow.c
  143. o\eat.obj :  hack.h eat.c
  144. o\end.obj :  hack.h end.c
  145. o\engrave.obj :  hack.h engrave.c
  146. o\fight.obj :  hack.h fight.c
  147. o\fountain.obj :  hack.h fountain.c
  148. o\invent.obj :  hack.h wseg.h invent.c
  149. o\ioctl.obj :  config.h ioctl.c
  150. o\lev.obj :  hack.h mkroom.h wseg.h lev.c
  151. o\makemon.obj :  hack.h makemon.c
  152. o\mhitu.obj :  hack.h mhitu.c
  153. o\mklev.obj :  hack.h mkroom.h mklev.c
  154. o\mkmaze.obj :  hack.h mkroom.h mkmaze.c
  155. o\mkobj.obj :  hack.h mkobj.c
  156. o\mkshop.obj :  hack.h mkroom.h eshk.h mkshop.c
  157. o\mon.obj :  hack.h mfndpos.h mon.c
  158. o\monmove.obj :  hack.h mfndpos.h monmove.c
  159. o\monst.obj :  hack.h eshk.h monst.c
  160. o\o_init.obj :  config.h objects.h onames.h o_init.c
  161. o\objnam.obj :  hack.h objnam.c
  162. o\options.obj :  config.h hack.h options.c
  163. o\pager.obj :  hack.h pager.c
  164. o\polyself.obj :  hack.h polyself.c
  165. o\potion.obj :  hack.h potion.c
  166. o\pray.obj :  hack.h pray.c
  167. o\pri.obj :  hack.h pri.c
  168. o\prisym.obj :  hack.h wseg.h prisym.c
  169. o\read.obj :  hack.h read.c
  170. o\rip.obj :  hack.h rip.c
  171. o\rumors.obj :  config.h rumors.c
  172. o\save.obj :  hack.h save.c
  173. o\search.obj :  hack.h search.c
  174. o\shk.obj :  hack.h mfndpos.h mkroom.h eshk.h shk.c
  175. o\shknam.obj :  hack.h shknam.c
  176. o\sit.obj :  hack.h sit.c
  177. o\spell.obj :  hack.h spell.c
  178. o\steal.obj :  hack.h steal.c
  179. o\termcap.obj :  config.h flag.h termcap.c
  180. o\timeout.obj :  hack.h timeout.c
  181. o\topl.obj :  hack.h topl.c
  182. o\topten.obj :  hack.h topten.c
  183. o\track.obj :  hack.h track.c
  184. o\trap.obj :  hack.h mkroom.h trap.c
  185. o\u_init.obj :  hack.h u_init.c
  186. o\vault.obj :  hack.h mkroom.h vault.c
  187. o\version.obj : hack.h date.h version.c
  188. o\wield.obj :  hack.h wield.c
  189. o\wizard.obj :  hack.h wizard.c
  190. o\worm.obj :  hack.h wseg.h worm.c
  191. o\worn.obj :  hack.h worn.c
  192. o\write.obj :  hack.h write.c
  193. o\zap.obj :  hack.h zap.c
  194. o\msdos.obj : msdos.h msdos.c
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201. linkit.bat
  202. echo on
  203. link @nethack.lnk,nethack.exe,nethack.map,ltermlib.lib /NOIG /STACK:0xf00 /SEGMENTS:400 /EXEPACK
  204.  
  205.  
  206.  
  207.  
  208.  
  209. nethack.lnk
  210. o\decl.obj o\apply.obj o\bones.obj o\cmd.obj +
  211. o\do.obj o\dothrow.obj o\do_name.obj o\do_wear.obj +
  212. o\dog.obj o\dogmove.obj o\eat.obj o\end.obj +
  213. o\engrave.obj o\fight.obj o\fountain.obj o\hack.obj +
  214. o\invent.obj o\lev.obj o\pcmain.obj o\makemon.obj +
  215. o\mhitu.obj o\mklev.obj o\mkmaze.obj o\mkobj.obj +
  216. o\mkshop.obj o\mon.obj o\monmove.obj o\monst.obj +
  217. o\o_init.obj o\objnam.obj o\options.obj o\pager.obj +
  218. o\polyself.obj o\potion.obj o\pray.obj o\pri.obj +
  219. o\prisym.obj o\read.obj o\rip.obj o\rumors.obj +
  220. o\save.obj o\search.obj o\shk.obj o\shknam.obj +
  221. o\sit.obj o\spell.obj o\steal.obj o\termcap.obj +
  222. o\timeout.obj o\topl.obj o\topten.obj o\track.obj +
  223. o\trap.obj o\pctty.obj o\pcunix.obj o\u_init.obj +
  224. o\vault.obj o\wield.obj o\wizard.obj o\worm.obj +
  225. o\worn.obj o\write.obj o\zap.obj o\version.obj +
  226. o\rnd.obj o\alloc.obj o\msdos.obj
  227.  
  228.  
  229.  
  230.  
  231. makefile (for termlib)
  232. #
  233. MODEL    =    L
  234. CFLAGS    =    /A$(MODEL) /DDGK
  235. #
  236. TSOURCES =    testtcp.c 
  237. LSOURCES =    tgetent.c tgetflag.c tgetnum.c tgetstr.c tgoto.c \
  238.         tputs.c isdigit.c fgetlr.c
  239. #
  240. TOBJECTS =    testtcp.obj
  241. LOBJECTS =    tgetent.obj tgetflag.obj tgetnum.obj tgetstr.obj \
  242.         tgoto.obj tputs.obj isdigit.obj fgetlr.obj
  243. #
  244. $(MODEL) : $(MODEL)termlib.lib
  245.  
  246. $(MODEL)termlib : $(MODEL)termlib.lib
  247.  
  248. $(MODEL)termlib.lib :    $(LOBJECTS)
  249.     lib $(MODEL)termlib.lib tgetent+tgetflag+tgetnum+tgetstr+tgoto+tputs+isdigit+fgetlr
  250.  
  251.  
  252.  
  253.